package com.ruoyi.common.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.entity.StorageConfig;

/**
 * 存储配置Service接口
 */
public interface StorageConfigService extends IService<StorageConfig> {

    /**
     * 根据存储类型获取配置
     * @param storageType 存储类型
     * @return 存储配置
     */
    StorageConfig getByStorageType(String storageType);
    
    /**
     * 保存或更新存储配置
     * @param config 存储配置
     * @return 是否成功
     */
    boolean saveOrUpdateConfig(StorageConfig config);
    
    /**
     * 测试存储配置连接
     * @param config 存储配置
     * @return 测试结果
     */
    boolean testConnection(StorageConfig config);

    /**
     * set default storage config
     * @param storageType
     * @return
     */
    boolean setDefaultConfig(String storageType);

    /**
     * get default storage config
     * @return
     */
    StorageConfig getDefaultConfig();

    String getDefaultStorageType();
}
